/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.uta.tsrh.specialnotes.misc;

import java.sql.Timestamp;
import java.util.ArrayList;

/**
 *
 * @author David
 */
public class PatientRecord {
    private String firstName;
    private String lastName;
    private String patientId;
    private Timestamp dob;
    private String contactPhone;
    private Address address;
    private String mothersName;
    private ArrayList<PatientNote> notes = new ArrayList<PatientNote>();
    private ArrayList<PatientPhoneCall> phoneCalls = new ArrayList<PatientPhoneCall>();
    
    /**
     * Basic data constructor
     * @param firstName
     * @param lastName
     * @param patientId
     * @param dob
     * @param contactPhone
     * @param address
     * @param mothersName 
     */
    public PatientRecord(String firstName,
            String lastName, 
            String patientId, 
            Timestamp dob, 
            String contactPhone, 
            Address address, 
            String mothersName
            ) {
        this.firstName = firstName;
        this.lastName = lastName;
        this.patientId = patientId;
        this.dob = dob;
        this.contactPhone = contactPhone;
        this.address = address;
        this.mothersName = mothersName;
    }
    public PatientRecord() {
        this.firstName = "First Name";
        this.lastName = "Last Name";
        this.patientId = "FL";
        this.dob = null;
        this.contactPhone = "Contact Phone";
        this.address = null;
        this.mothersName = "Mother's Name";
    }
    
    public String getFirstName() {
        return firstName;
    }
    public String getLastName() {
        return lastName;
    }
    public String getId() {
        return patientId;
    }
    public Timestamp getDOB() {
        return dob;
    }
    public String getContactPhone() {
        return contactPhone;
    }
    public Address getAddress() {
        return address;
    }
    public String getMothersName() {
        return mothersName;
    }
    public ArrayList<PatientNote> getNotes() {
        return notes;
    }
    public ArrayList<PatientPhoneCall> getPhoneCalls() {
        return phoneCalls;
    }
    
    /**
     * Add new note
     * @param newNote 
     */
    public void addNote(PatientNote newNote) {
        notes.add(newNote);
    }
    
    /**
     * Add new phone call
     * @param newPhoneCall 
     */
    public void addPhoneCall(PatientPhoneCall newPhoneCall) {
        phoneCalls.add(newPhoneCall);
    }
    
}
